iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0
Software Development

窮小子的售票系統系列 第 17

Day17: 實作-資源建立 Cloud Run-Sales Service

  • 分享至 

  • xImage
  •  

基本的雲端資源都準備好之後我們就要準備來建立最主要的運算服務 Cloud Run,我們可以直接把 Code 打包成 Container 上傳到 Artifact Registry 提供給 Cloud Run 使用,但這樣並沒有持續部屬的功能,每次要上版本都要重新的打包部屬效率較差,我們可以透過 Cloud Build 來實現自動的建置部屬。

Cloud Build 可以從 GitHub GitLab 或是 Bitbucket 抓取 Code 做 CI,在自動將 Build 完的 Image CD 給 Cloud Run 做使用

首先我們需要先把 Code 推到 GitLab 或 GitHub,其實 GCP 也有提供雲端的 Repo(Cloud Source Repositories) ,但實在是太難用而且 Google 也準備關閉這個服務,我們這裡就不推薦使用。

你可以先建立一個空的 web 服務,有一個 endpoint 可以打的到做測試即可,我這裡先用 Dotnet WebAPI 預設 template 做範例。

假設我這邊已經推送到我自己的 Github https://github.com/DellLin/iThome2024.SalesService

建立資源

過去我們要單獨的設定 Cloud Build 跟 Cloud Run,現在可以在 Cloud Run 的建立頁面就快速的做完一整套的設定

首先我們前往建立 Cloud Run 的 Service

https://ithelp.ithome.com.tw/upload/images/20240918/20168312XvN2aYkXdC.png
可以看到最上面就有不同的來源可以選擇,我們可以選擇中間的 Github 做持續部屬

https://ithelp.ithome.com.tw/upload/images/20240918/20168312jq3f5g7HLq.png
存放區預設會是空的,這裡要連結到你的Github,照著指示一步一步登入Github 授權給 Google Cloud 就可以了,因為我已經連結上,我這裡就不多做說明。

選擇好你的 Repo 後就可以點選下一步

https://ithelp.ithome.com.tw/upload/images/20240918/20168312H3CEpYmbRM.png
建構類型這裡記得要選擇 Dockerfile,這樣 Cloud Build 才會使用 Repo 裡面的 Dockerfile 來建立 Image

https://ithelp.ithome.com.tw/upload/images/20240918/20168312xPPliBe4Vd.png

服務名稱

給我們的 Cloud Run 一個方便識別的名稱

地區

這裡許則 asia-east1

驗證

我們的服務是對外開放的,身分驗證試做在應用程式內部,所以這料選擇”允許未經驗證的叫用”

CPU 分配與定價

為了節省成本我們選擇"只在要求處理期間分配 CPU” 這個選項會大幅度的影響到我們的費用

執行各里數量下限

這裡可以先給 0,等服務開發測試完成沒問題後我們再做調升。

輸入控管

我們的服務是直接對外的,這裡我們選擇全部

https://ithelp.ithome.com.tw/upload/images/20240918/20168312olrdIcka84.png
填寫完畢後我們就按下建立,接下來就等待 Cloud Build 自動幫我們進行 CI/CD

Cloud Build 部屬完成後 你的 Cloud Run 就會是綠燈,並且預設 Cloud Run 都會有一個對外的網址可以直接訪問

https://ithelp.ithome.com.tw/upload/images/20240918/20168312Vh1wmmbVHB.png我推上去的 Code 是 Dotnet 的預設 Template 有一個 weatherforecast 的 API 測試OK。

https://ithelp.ithome.com.tw/upload/images/20240918/20168312M08UfHwfKU.png
Cloud Build 實際上就是去 Github 把你的 Code Clone 下來 Build 成 image 放在 artifacts 給 Cloud Run 做使用,可以在 Cloud Run 的詳細資訊裡面看到現在的 Cloud Run 使用的是哪個 image

https://ithelp.ithome.com.tw/upload/images/20240918/20168312JDD6D7wNgJ.png
在 artifacts 就可以找到對應的 image

https://ithelp.ithome.com.tw/upload/images/20240918/201683127DIsZI5FUA.png
已上我們今天就部屬好了 Cloud Run 並且確定可以打到我們的服務。


上一篇
Day16: 實作-雲端資源建立-Pub/Sub
下一篇
Day18: 實作-連接雲端資源-Part 1
系列文
窮小子的售票系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言